package com.xuxueli.xxlrpc.remoting.net.common;

import com.xuxueli.xxlrpc.remoting.invoker.XxlRpcInvokerFactory;
import com.xuxueli.xxlrpc.remoting.net.params.XxlRpcRequest;
import com.xuxueli.xxlrpc.serialize.Serializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @Author：YH
 * @Description：
 * @Date:Created in 2022/5/29 16:10
 */
public abstract class ConnectClient {

    private static final Logger logger = LoggerFactory.getLogger(ConnectClient.class);

    public abstract void init(String address, final Serializer serializer,
                              final XxlRpcInvokerFactory xxlRpcInvokerFactory) throws Exception;

    public abstract void close();

    public abstract boolean isValidate();

    public abstract void send(XxlRpcRequest xxlRpcRequest) throws Exception;
    
}
